home *** CD-ROM | disk | FTP | other *** search
/ The Amiga Classic Collection / The Amiga Classic Collection - Disc 1.iso / Education / ED16-CrosswordCreator.DMS / ED16-CrosswordCreator.adf / Source / CPCMenu.mod < prev    next >
Text File  |  1991-07-13  |  4KB  |  139 lines

  1. IMPLEMENTATION MODULE CPCMenu;
  2.  
  3.  
  4.  
  5. IMPORT Arts;
  6. IMPORT CPCGlobal;
  7. IMPORT IntuiIO;
  8. IMPORT Menus;
  9. IMPORT SYSTEM;
  10.  
  11.  
  12.  
  13. VAR
  14.  menupresent: BOOLEAN;
  15.  
  16.  
  17.  
  18. PROCEDURE ShowCommands;
  19.  BEGIN
  20.   IF menupresent THEN
  21.    Menus.MenuOff(CPCGlobal.window);
  22.    menupresent:=FALSE;
  23.   END;
  24.  
  25.   Menus.SetMenu(0,100,SYSTEM.ADR(CPCGlobal.msg[84]));
  26.   Menus.SetItem(0,0,300,SYSTEM.ADR(CPCGlobal.msg[83]),"\o");
  27.   Menus.SetItem(0,1,0,SYSTEM.ADR(CPCGlobal.msg[56]),"\o");
  28.   Menus.SetItem(0,2,0,SYSTEM.ADR(CPCGlobal.msg[58]),"\o");
  29.   Menus.SetItem(0,3,0,SYSTEM.ADR(CPCGlobal.msg[57]),"\o");
  30.   Menus.SetItem(0,4,0,SYSTEM.ADR("  "),"\o");
  31.   Menus.SetItem(0,5,0,SYSTEM.ADR(CPCGlobal.msg[60]),"\o");
  32.  
  33.   Menus.SetMenu(1,100,SYSTEM.ADR(CPCGlobal.msg[85]));
  34.   Menus.SetItem(1,0,300,SYSTEM.ADR(CPCGlobal.msg[1]),"\o");
  35.   Menus.SetItem(1,1,0,SYSTEM.ADR(CPCGlobal.msg[53]),"\o");
  36.   Menus.SetItem(1,2,0,SYSTEM.ADR(CPCGlobal.msg[59]),"\o");
  37.   Menus.SetItem(1,3,0,SYSTEM.ADR(CPCGlobal.msg[86]),"\o");
  38.   Menus.SetItem(1,4,0,SYSTEM.ADR(CPCGlobal.msg[87]),"\o");
  39.  
  40.   Menus.SetMenu(2,100,SYSTEM.ADR(CPCGlobal.msg[68]));
  41.   Menus.SetItem(2,0,300,SYSTEM.ADR(CPCGlobal.msg[48]),"\o");
  42.   Menus.SetItem(2,1,0,SYSTEM.ADR(CPCGlobal.msg[63]),"\o");
  43.   Menus.SetItem(2,2,0,SYSTEM.ADR(CPCGlobal.msg[67]),"\o");
  44.   Menus.SetItem(2,3,0,SYSTEM.ADR(CPCGlobal.msg[54]),"\o");
  45.   Menus.SetItem(2,4,0,SYSTEM.ADR(CPCGlobal.msg[55]),"\o");
  46.  
  47.   menupresent:=Menus.MenuOn(CPCGlobal.window);
  48.  
  49.   IF (CPCGlobal.search=CPCGlobal.off)&(CPCGlobal.show=CPCGlobal.on) THEN
  50.    Menus.ItemDisable(0,4,-1);
  51.   ELSIF (CPCGlobal.search=CPCGlobal.off) AND (CPCGlobal.show=CPCGlobal.off) THEN
  52.    Menus.ItemDisable(0,0,-1);
  53.    Menus.ItemDisable(0,1,-1);
  54.    Menus.ItemDisable(0,2,-1);
  55.    Menus.ItemDisable(0,3,-1);
  56.    Menus.ItemDisable(0,4,-1);
  57.  
  58.    Menus.SetItem(1,0,300,SYSTEM.ADR(CPCGlobal.msg[2]),"\o");
  59.    Menus.ItemDisable(1,1,-1);
  60.    Menus.ItemDisable(1,2,-1);
  61.    Menus.ItemDisable(1,3,-1);
  62.    Menus.ItemDisable(1,4,-1);
  63.  
  64.    Menus.ItemDisable(2,0,-1);
  65.    Menus.ItemDisable(2,1,-1);
  66.    Menus.ItemDisable(2,2,-1);
  67.    Menus.ItemDisable(2,3,-1);
  68.    Menus.ItemDisable(2,4,-1);
  69.   ELSIF (CPCGlobal.search=CPCGlobal.on) THEN
  70.    Menus.ItemDisable(0,0,-1);
  71.    Menus.ItemDisable(0,1,-1);
  72.    Menus.ItemDisable(0,2,-1);
  73.    Menus.ItemDisable(0,3,-1);
  74.    Menus.ItemDisable(0,4,-1);
  75.  
  76.    Menus.SetItem(1,0,300,SYSTEM.ADR(CPCGlobal.msg[3]),"\o");
  77.    Menus.ItemDisable(1,1,-1);
  78.    Menus.ItemDisable(1,2,-1);
  79.    Menus.ItemDisable(1,3,-1);
  80.    Menus.ItemDisable(1,4,-1);
  81.  
  82.    Menus.ItemDisable(2,0,-1);
  83.    Menus.ItemDisable(2,1,-1);
  84.    Menus.ItemDisable(2,2,-1);
  85.    Menus.ItemDisable(2,3,-1);
  86.    Menus.ItemDisable(2,4,-1);
  87.   END;
  88.   IF CPCGlobal.hori+CPCGlobal.vert>0 THEN
  89.    Menus.ItemDisable(1,3,-1);
  90.    Menus.ItemDisable(1,4,-1);
  91.   END;
  92.  END ShowCommands;
  93.  
  94.  
  95.  
  96. PROCEDURE AllMenusOff;
  97.  BEGIN
  98.   IF menupresent THEN
  99.    Menus.ItemDisable(0,-1,-1);
  100.    Menus.ItemDisable(0,0,-1);
  101.    Menus.ItemDisable(0,1,-1);
  102.    Menus.ItemDisable(0,2,-1);
  103.    Menus.ItemDisable(0,3,-1);
  104.    Menus.ItemDisable(0,4,-1);
  105.    Menus.ItemDisable(0,5,-1);
  106.    Menus.ItemDisable(1,-1,-1);
  107.    Menus.ItemDisable(1,0,-1);
  108.    Menus.ItemDisable(1,1,-1);
  109.    Menus.ItemDisable(1,2,-1);
  110.    Menus.ItemDisable(1,3,-1);
  111.    Menus.ItemDisable(1,4,-1);
  112.    Menus.ItemDisable(2,-1,-1);
  113.    Menus.ItemDisable(2,0,-1);
  114.    Menus.ItemDisable(2,1,-1);
  115.    Menus.ItemDisable(2,2,-1);
  116.    Menus.ItemDisable(2,3,-1);
  117.    Menus.ItemDisable(2,4,-1);
  118.   END;
  119.  END AllMenusOff;
  120.  
  121.  
  122. BEGIN
  123.  menupresent:=FALSE;
  124. CLOSE
  125.  (* must close menu BEFORE closing the window!!! *)
  126.  IF (CPCGlobal.window#NIL) THEN
  127.   IF menupresent THEN
  128.    Menus.MenuOff(CPCGlobal.window);
  129.    menupresent:=FALSE;
  130.   END;
  131.   IntuiIO.CloseWindow(CPCGlobal.window);
  132.   CPCGlobal.window:=SYSTEM.CAST(IntuiIO.WINDOW,NIL);
  133.  END;
  134.  IF (CPCGlobal.screen#NIL) THEN
  135.   IntuiIO.CloseScreen(CPCGlobal.screen);
  136.   CPCGlobal.screen:=SYSTEM.CAST(IntuiIO.SCREEN,NIL);
  137.  END;
  138. END CPCMenu.
  139.